1. Field
Exemplary embodiments of the present invention relate to semiconductor design technology, and more particularly, to a clock alignment training operation in a semiconductor device.
2. Description of the Related Art
In a system including a plurality of semiconductor devices, the semiconductor devices may store data. If data is requested or provided from a data processing device, for example, a memory control unit (MCU), a semiconductor device outputs data corresponding to an address inputted from the device requesting the data or stores data provided from the data requesting device to a semiconductor device corresponding to the address.
To this end, a semiconductor device, which operates at a high speed, is designed such that two pieces of data are inputted/outputted between a rising edge and a falling edge of a system clock applied from a circuit outside of the semiconductor device and two pieces of data are inputted/outputted between the falling edge and the next rising edge. More specifically, the semiconductor device is designed to input/output four pieces of data during one cycle of the system clock.
However, since the system clock can represent only two states, more specifically, a logic high state and a logic low state, to input/output four pieces of data during one cycle, a data clock with a frequency two times higher than the system clock is included. In other words, a clock dedicated for input/output of data is included.
Therefore, the semiconductor device operating at a high speed uses the system clock as a reference clock when transmitting and receiving an address and a command, and uses the data clock as a reference clock when inputting/outputting data. The data clock may be controlled to have a frequency two times higher than the system clock.
Namely, two cycles of the data clock are repeated during one cycle of the system clock, and input/output of data is respectively implemented at the rising edge and the falling edge of the data clock, such that four pieces of data can be inputted/outputted during one cycle of the system clock.
In this way, unlike a conventional DDR synchronous semiconductor device that uses one system clock as a reference to perform a read or write operation, the semiconductor device operating at a high speed transmits and receives data using two clocks with different frequencies to perform a read or write operation.
In this regard, if the phases of the system clock and the data clock are not aligned with each other, a reference for transmitting an operation command and an address and a reference for transmitting data are not aligned with each other. This misalignment results in the semiconductor device operating at a high speed, but the semiconductor device cannot operate normally.
Due to this fact, in order for the semiconductor device operating at a high speed to normally operate, an interface training operation should be performed between the semiconductor device and the data processing device at an initial operating stage.
Interface training means that interfaces for transmitting a command, an address, and data are trained to operate at optimized times before normal operations are performed between the semiconductor device and the data processing device.
Such interface training is divided into address training, clock alignment training (WCK2CK training), read training, and write training. In the clock alignment training (WCK2CK training), an operation for aligning a data clock and a system clock is performed.
The clock alignment training operation is generally divided into a normal training mode (full training) operation and an auto-synchronous mode operation.
The normal training mode indicates a method used for precisely synchronizing a phase difference between a data clock and a system clock in a semiconductor memory device that operates at a high speed. In the normal training mode, the phases of the data clock and the system clock are compared for a preset period, and a semiconductor memory system synchronizes the phases of the system clock and the data clock through an operation of precisely changing the phase of the data clock according to a comparison result.
The auto-synchronous mode indicates a method used to control a phase difference between a data clock and a system clock so that the phase difference falls within a predetermined range in a semiconductor memory device that operates at a middle speed or a low speed. In the auto-synchronous mode, the phases of the data clock and the system clock are compared, and whether to reverse the phase of the data clock is determined according to a comparison result.
When a semiconductor memory device operates at a high speed, a method of precisely synchronizing the phases of a data clock and a system clock through the normal training mode is useful due to the operation characteristic.
When the semiconductor memory device operates at a middle speed or a low speed, the clock alignment training operation is not always performed through the auto-synchronous mode. Rather, first, the data clock and the system clock are precisely synchronized through the normal training mode, and then, when the phases of the data clock and the system clock are distorted due to a subsequent operation of the semiconductor memory device, the phase of the data clock and the phase of the system clock are recovered through the auto-synchronous mode.
In the operation for recovering the distorted phases of the data clock and the system clock through the auto-synchronous mode, issues may occur as described below.
FIG. 1 is a timing diagram explaining problems caused when performing a clock alignment training operation under an auto-synchronous mode according to the conventional art.
Referring to FIG. 1, an auto-synchronous mode operation for detecting the phases of system clocks HCK and iHCK based on the phases of data clocks WCK and iWCK is shown.
As shown in FIG. 1, jitters may occur in the system clocks HCK and iHCK. As a consequence, in one example, the data clocks WCK and iWCK are matched to logic high levels at the edges of the system clocks HCK and iHCK and in another example, the data clocks WCK and iWCK are mismatched to logic low levels at the edges of the system clocks HCK and iHCK.
When jitters do not occur in the system clocks HCK and iHCK, the data clocks WCK and iWCK are to be detected in the state in which they are mismatched to the logic low levels at the edges of the system clocks HCK and iHCK, and the phases of the data clocks WCK and iWCK are to be reversed. However, when jitters occur in the system clocks HCK and iHCK, the phases of the data clocks WCK and iWCK may not reversed. Accordingly, the phase differences between the system clocks HCK and iHCK and the data clocks WCK and iWCK become opposite to each other.
While FIG. 1 shows that jitters occur in the system clocks HCK and iHCK, phase mismatch may be caused when jitters occur in the data clocks WCK and iWCK.
If the auto-synchronous mode is not normally operated as described above, the phase differences between the system clocks HCK and iHCK and the data clocks WCK and iWCK are not slight but are substantially opposite to each other. Therefore, when subsequently performing domain crossing by using such system clocks HCK and iHCK and such data clocks WCK and iWCK, data may not normally be inputted/outputted.